let utils = {}

// 非空判断
utils.notEmpty = function (o) {
    if (o == undefined || o == '' || o == null) {
        return false
    }
    return true
}
utils.isEmpty = function (o) {
    if (o == undefined || o == '' || o == null) {
        return true
    }
    return false
}

// 判断对象非空
utils.notNull = function (obj) {
    if (obj !== '' && obj !== ' ' && obj !== undefined && obj !== null) {
        return true
    }
    return false
}

// 排序参数
utils.compare = function (property) {
    return function (a, b) {
    var value1 = a[property]
    var value2 = b[property]
    return value1 - value2
    }
}

// 去除对象中值为空的参数
utils.dislodgeEmpty = function (obj) {
    for (var i in obj) {
        if (utils.isEmpty(obj[i])) {
            delete obj[i]
        }
    }
    return obj
}

// 时间校验
// utils.timeCheck = function (rule, value, callback) {
//     if (value === ' ' || value === '' || value === undefined) {
//         callback(new Error(msgCfg.selectDateInput))
//     } else {
//         callback()
//     }
// }

// const formatNumber = n => {
//     n = n.toString()
//     return n[1] ? n : '0' + n
// }

// 格式化日期时间
// utils.formatDay = function (date) {
//     var year = date.getFullYear()
//     var month = date.getMonth() + 1
//     var day = date.getDate()

//     return year + '年' + month + '月' + day + '日'
// }

// 格式化日期时间
// utils.formatDay1 = function (date) {
//     var year = date.getFullYear()
//     var month = date.getMonth() + 1
//     var day = date.getDate()

//     return [year, month, day].map(formatNumber).join('-')
// }

// 格式化时间
// utils.formatTime = function (date) {
//     var year = date.getFullYear()
//     var month = date.getMonth() + 1
//     var day = date.getDate()
//     var hour = date.getHours()
//     var minute = date.getMinutes()
//     var second = date.getSeconds()

//     return [year, month, day].map(formatNumber).join('-') + ' ' + [hour, minute, second].map(formatNumber).join(':')
// }

// utils.formatFirstTime = function (date) {
//     var year = date.getFullYear()
//     var month = date.getMonth() + 1
//     var day = date.getDate()
//     return [year, month, day].map(formatNumber).join('-') + ' 00:00:00'
// }

// 获取当前的时间戳 毫秒值
// utils.getCurrUnix = function () {
//     return new Date().getTime()
// }

utils.logout = function (vm) {
    if (utils.notNull(vm) && utils.notNull(vm.$router)) {
        vm.$store.commit('setToken', '')
        vm.$store.commit('setUser', '')
        vm.$store.commit('setUserPwd', '')
        vm.$store.commit('setCurrUserName', '')
        vm.$store.commit('setCurrUserId', '')
        vm.$store.commit('setCurrCorpSysId', '')
        vm.$store.commit('setCurrCorpNo', '')
        vm.$store.commit('setCurrCorpName', '')
        vm.$store.commit('setCurrCorpId', '')
        vm.$store.commit('setRoleId', '')

        vm.$router.push({
            name: 'login'
        })
    }
}

// 排序
utils.sortList = function (key, val) {
    var map = {
        sortkey: key,
        sortvalue: val
    }
    return map
}

// 千分符处理 将数值处理成千分位
utils.formatTNum = function (num) {
    if (isNaN(num) || num == '' || num == undefined) {
        return 0
    }
    var newNum = parseFloat(num.toFixed(2))
    if (newNum > 99999) {
        return parseFloat((newNum / 10000).toFixed(2)) + '万'
    } else {
        return (newNum + '').replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g, '$1,')
    }
}

// utils.formatTNumNoUnit = function (num) {
//     if (isNaN(num) || num == '' || num == undefined) {
//         return 0
//     }
//     var newNum = parseFloat(num.toFixed(2))
//     if (newNum > 99999) {
//         return parseFloat((newNum / 10000).toFixed(2))
//     } else {
//         return (newNum + '').replace(/(\d{1,3})(?=(\d{3})+(?:$|\.))/g, '$1,')
//     }
// }

// utils.formatTNumUnit = function (num) {
//     if (isNaN(num) || num == '' || num == undefined) {
//         return ''
//     }
//     var newNum = parseFloat(num.toFixed(2))
//     if (newNum > 99999) {
//         return '万'
//     } else {
//         return ''
//     }
// }

var toast = null
// 加载
utils.showLoading = function (vm) {
    toast = vm.$toast.loading({
        duration: 0, // 持续展示 toast
        forbidClick: true,
        message: '加载中...'
    })
    setTimeout(function () {
        toast && vm.$toast.clear()
    }, 15000)
}

// 关闭加载
utils.hideLoading = function (vm) {
    toast && vm.$toast.clear()
}

// vin format
utils.formatVin = function (vin = '') {
    return vin.substring(0, 3) + '****' + vin.substring(13)
}

export default utils
